このページは私用WordPressの覚え書き兼、テストページです。
「SNSボタン」は、テスト検証用に仮設置しているだけなので、押しても反応しません。

022 text-transform 効かない(勝手に見出しが大文字になる)


(備忘録)


見出しの英文が何故か大文字になって直らない

 ↑ この見出しの css は、下記のように記述していました。

/* 見出し(投稿記事のみ) */
div#innerbox h1 {
border: 2px solid #a9a9a9;/* グレイの罫巻き */
background: #d3d3d3;
color: #ffffff;
font-size: 1.5em;
padding: 5px 10px;
margin-bottom: 10px;
cursor: pointer;
font-variant: small-caps;
/* -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.2); */
/* -moz-box-shadow: 0 1px 1px rgba(0,0,0,.2); */
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}


欧文を大文字か小文字かに制御するのは、text-transform というタグで定義できます。

text-transform タグ

text-transform: none;		/* 何もしません(入力したままの状態で表示)  */
text-transform: capitalize;	/* 各単語の一文字目を大文字に変換、(他の文字は入力したままの状態)  */
text-transform: uppercase;	/* 各単語全ての文字を大文字に変換  */
text-transform: lowercase;	/* 各単語全ての文字を小文字に変換  */


text-transform: none; を、入れたのですが、まったく効かない。
body{ } に入れていて、効かないので、

div#innerbox h1 { } にも入れてみた。
やっぱり効かない。
大文字のまま。


さんざん調べたけど、効かない理由がわからない。
style.css 内を検索しても、他に text-transform: タグを使っている箇所は見つからない。


何故効かないのか・・・。


もう一度、よくよく div#innerbox h1 { } を見返してみたら・・・、

/* 見出し(投稿記事のみ) */
div#innerbox h1 {

font-variant: small-caps;

}

font-variant: small-caps; というタグが入っていたからでした・・・onz。


この一文をコメントアウトして隠したら、無事、ちゃんと効きました。


・・・見落とし ってコワイ。


021改ページ、next pageタグ


(※この記事は、過去に書いた投稿記事の再アップです)


ページ分割(改ページ)タグ

WordPressには、ひとつの記事の中で、ページ分割ページ分けできる機能があります。

改ページタグを入れると、ひとつの記事の中で、1ページ目、2ページ目と、複数ページの記事を書くことができます。


改ページタグとは、

<!--nextpage-->

と入力すると、そこで改ページとなり、それ以降の文章が2ページ目となります。
もちろん、何回使ってもよいので、ひとつの記事が=全10ページとか、全100ページとかだって可能です。


でも、これって、どういう時に使うの?

普通のブログだと、「改ページ」なんて、まず、ほとんど使い道がないかもしれません。

でも、創作活動をしている場合はどうでしょうか。
例えば、「小説」を書いている人とか。
ひとつの「小説」をひとつの記事として投稿したい場合には、このタグは使える機能だと思います。


基本的に、WordPressは、日記として日々の単体記事の投稿として使う場合が多く、
「小説サイト」などには向かないと思っています。

ちゃんと「目次」などを装備してあればまだいいのですが、
最新の記事が常にトップにくるブログ形式だと、記事を逆に遡らないと順を追って読めないので、
ブログで小説をアップしているサイトは、ものすごく読みにくくて苦手です。
(ストレスがたまって、二度と見にいかなくなることが多いです)


でもWordPressは、カスタマイズ自由なおかげで、「小説サイト」みたいな形を自由に作ることができますから、便利ですよね。


020contact-form-7テスト|formページのみ、ナビゲーションリンクを削除


コンタクトフォーム テスト

※このフォームは、テストです。押しても反応しません。


性別
男性女性




フォームの記事のみ、ナビゲーションを無しにしたい。

single.php には、 <<--前の記事へ 次の記事へ-->> というナビゲーションをつけているのですが、
一部のカテゴリー(コンタクトフォームだけの記事)には出ないようにする条件分岐を入れてみたいと思います。


single.php
<!--singleのページ送り-->
<?php if ( ! in_category( 'sz_form' )  ) : //カテゴリー「応募フォーム」=スラッグsz_formではない場合に表示?>
	<div class="p_navi">
	<div class="alignleft"><?php previous_post_link('<<-- %link', '%title', TRUE, ''); ?></div>
	<div class="alignright"><?php next_post_link('%link -->>', '%title', TRUE, ''); ?></div>
	</div>
<?php endif; ?>
カテゴリー「応募フォーム」=スラッグsz_formに表示させたくないだけなので、
否定形(頭に ! をつける)で、「応募フォーム」のカテゴリーでない場合に、singleのページ送りを表示する という形としました。
「応募フォーム」のカテゴリーの場合は何も表示しないので、<?php else: ?>省略しました。


in_category( '' ) と、is_category( '' ) があり、使い方が違うようです。

in_category( 'sz_form' ) の場合は、現在の投稿がカテゴリースラッグが sz_formに属する場合に true を返します。

参照■WordPress Codex日本語版「条件分岐タグ」



019 plugin「Contact Form 7」の使い方


(※「Contact Form 7」の使い方、覚書メモ)


「Contact Form 7」によるメールフォーム表示例(デフォルト)


<!-- 「メールフォーム サンプル」ここから↓

↑ ここまで-->

(上記は、「Contact Form 7」に最初から入っているデフォルトの設定例です)
ボックスやボタンのデザインは style.css の設定によるものなので、使用中のテーマによって見え方は異なります。


「Contact Form 7」をダウンロード

  ↓



「Contact Form 7」をインストールする

■「Contact Form 7」をインストール → メニュー「プラグイン」で 「有効」にすると、
ダッシュボードのメニューの中に「お問い合わせ」という項目が追加されます。


■「お問い合わせ」をクリックすると、「コンタクトフォーム1」という一件の初期記事が用意されています。

それをクリックして自分用に編集します。
(「コンタクトフォーム1」を直接編集してもよいし、複製を作ってもどちらでもOK)


「Contact Form 7」使い方

↓ 使い方はバージョンによっても随時変化しますので、公式のサポートページを参照してください。



「ラジオボタン」を使ってみる


試しに「ラジオボタン」を一個作って、テストしてみたんですけど、「!複数のフォームコントロールが単一の label 要素内に置かれています。」とかいうエラーが出てしまいました。

サポートページを確認したところ、
ラジオボタン」や「チェックボックス」の場合は、<label></label> タグを使っちゃいけないのだそうです。
前後の例文で使ってるから、入れなきゃいけないのかと思った・・・

そんなん、判らんがな!!
「!複数のフォームコントロールが単一の label 要素内に置かれています。」とかいう意味不明のエラーメッセージじゃなくて、「"ラジオボタン"や"チェックボックス"では "<label></label> タグ" は使用できません」って書いてよ!!
ほんとにもう・・・

上記画像のように、<label></label> タグを消したらエラーは消えました。


「メール」の設定でもエラーが出てしまった



送信元のところに [your-name][your-email] <contactform-test@ドメイン.com> と入れたらエラーが消えました。
(contactform-test@ドメイン.com というメールアカウントは、実際は作っていません。)

なんでもよいからドメイン名が入ったメールアドレスをとりあえず入れとけば実際に存在しなくてもエラーは消えるようです。
ていうか、意味あるんでしょうか。 これ・・・。
サポートページのFAQは、何度も読んだんですが、結局意味不明でした。

FAQ → Contact Form 7 設定エラーを解消する


018_2 カテゴリーの条件分岐がうまくいかない


(備忘録)


今、このblogでは、右側のサイドバー(sidebar.php)に、カテゴリーが「wordpress」の記事一覧を「目次」として表示させています。

この部分を、カテゴリーが「PHP」の時は「PHPの記事一覧」に切り替えるよう、条件分岐で変化させたいと思ったのですが、うまく動かず、数時間悩みました。


切り替えるための条件分岐

どこで条件分岐させるかは、いくつか方法があるかと思うのですが

現在 sidebar.php 内に、
<!--特定のカテゴリー(カテゴリー名=wordpress)の記事タイトル一覧をすべて表示する--> のコードを入れていて、
その箇所を、カテゴリーが「wordpress」なら○○の処理、カテゴリーが「PHP」の時は△△△の処理をする、という条件分岐のコードに修正するのが一般的かもしれません。


しかし今回は、sidebar.php をコピー流用して、sidebar-2.php というのを作り、
投稿記事のカテゴリーが「wordpress」なら sidebar.phpを、
カテゴリーが「PHP」の時はsidebar-2.php を表示する
、という方法をとってみることにしました。


それで、index.php の

<!-- サイドバー -->
<?php get_sidebar(); ?>
という箇所を条件分岐に書き換えたんですが、うまくいかない・・・


何故効かないのか・・・ しばらく悩みまくった後、・・・Σ(゚д゚;)ハッ と気がつきました。


条件分岐はどのファイルに入れるのか?

効かなかった理由は、条件分岐を index.php に入れていた為でした。
index.php ではなく single.phparchive.php に入れなければいけなかったのです。

記事をクリックで表示されるのは single.php、カテゴリー(またはメニュー)をクリックで表示されるのは archive.php
この条件分岐は index.php上ではそもそも入れても意味がなかった・・・onz

index.php は、一般的には最近の投稿が最新順に数件並び、カテゴリーも混在、というテンプレートなので、この条件分岐を入れる意味はなく、実際、条件分岐を index.php に入れても効きません
※ただし、オリジナルテーマに single.php と archive.php を作っていなかった場合は、index.php が代用されるので、記述する必要がでてきます。
(index.php の中身が長く複雑になってしまうので、シンプルに single.php と archive.php を作ってしまった方が楽かなと思いますが。)


single.php に入れる条件分岐

内容=カテゴリーが「php=ID 142」なら sidebar-2.php を出力、それ以外なら sidebar.php を出力する。

※archive.php とほぼ一緒ですが、single.php は、in_category()としています。

<!-- サイドバー -->
	<?php wp_reset_query(); if(in_category('142')):	//もしカテゴリーがID 142の「PHP」だったら ?>
		<?php get_sidebar('2'); ?>
	<?php else:	//それ以外は ?>
		<?php get_sidebar(); ?>
	<?php endif; ?>

in_category()」と「is_category()」の違い 参考URL→ 図解WordPress「この際はっきりさせておきたい in_category() と is_category() の違い」


archive.php に入れる条件分岐

内容=同じく、カテゴリーが「php=ID 142」なら sidebar-2.php を出力、それ以外なら sidebar.php を出力する。

※archive.php では、is_category()としています。

<!-- サイドバー -->
	<?php wp_reset_query(); if(is_category('142')):	//もしカテゴリーがID 142の「PHP」だったら ?>
		<?php get_sidebar('2'); ?>
	<?php else:	//それ以外は ?>
		<?php get_sidebar(); ?>
	<?php endif; ?>


sidebar.php には以下をいれています

(sidebar-2.php との違いは、「目次タイトル」=2行目と「カテゴリーID」=6行目のみ)

<!--特定のカテゴリー(wordpressのみ)の記事タイトル一覧をすべて表示する-->
<li><h3>wordpress関連の記事 - 目次</h3>
<?php
    $myQuery = new WP_Query(); // WP_Queryオブジェクト生成
    $param = array( //パラメータ。
		'cat' => '26', // カテゴリーID26の「wordpress」のみを表示。
        'posts_per_page' => '-1', //(整数)表示する記事数。-1 ならすべての投稿を取得。
        'post_status' => 'publish', //取得するステータスを指定:publish=公開済みのものだけ
        'orderby' => 'date', //並び替え引数。日付で並べる。
        'order' => 'asc' //昇順。古い記事が上。
    );
    $myQuery->query($param);  // クエリにパラメータを渡す
?>
<ul>
<?php if($myQuery->have_posts()): while($myQuery->have_posts()) : $myQuery->the_post(); ?>
        <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>の詳細へ">■<?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
</ul>
</li>


sidebar-2.php には以下をいれています

(sidebar.php との違いは、「目次タイトル」=2行目と「カテゴリーID」=6行目のみ)

<!--特定のカテゴリー(PHP)の記事タイトル一覧をすべて表示する-->
<li><h3>PHP関連の記事 - 目次</h3>
<?php
    $myQuery = new WP_Query(); // WP_Queryオブジェクト生成
    $param = array( //パラメータ。
		'cat' => '142', // カテゴリーID 142の「PHP」のみを表示。
        'posts_per_page' => '-1', //(整数)表示する記事数。 -1 ならすべての投稿を取得。
        'post_status' => 'publish', //取得するステータスを指定:publish=公開済みのものだけ
        'orderby' => 'date', //並び替え引数。日付で並べる。
        'order' => 'asc' //昇順。古い記事が上。
    );
    $myQuery->query($param);  // クエリにパラメータを渡す
?>
<ul>
<?php if($myQuery->have_posts()): while($myQuery->have_posts()) : $myQuery->the_post(); ?>
        <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>の詳細へ">■<?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
</ul>
</li>


カテゴリーIDの番号は、カテゴリーを作り直したり、blogを新しく作り直したりすると変わります。 その都度ID番号を直すのを忘れずに。



投稿されたものがありません。